package com.ruoyi.bizsys.domain;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.util.Date;

import com.ruoyi.common.core.domain.BaseEntity;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;

/**
 * 客户补充信息记录对象 cust_replenish_info
 *
 * @author african-loan
 * @date 2022-03-31
 */

@Data
public class CustReplenishInfo extends BaseEntity {
    private static final long serialVersionUID = 1L;

    public static final String NONE = "-1";
    public static final String FAIL = "0";
    public static final String PASS = "1";
    public static final String APPROVAL = "9";

    /**
     * $column.columnComment
     */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    @TableId(type = IdType.AUTO)
    private Long id;


    /**
     * 用户ID
     */
    @Excel(name = "用户ID")
    private String userId;


    /**
     * 客户号
     */
    @Excel(name = "客户号")
    private String custNo;


    @NotBlank(message = "serialNo cannot be null")
    private String serialNo;

    /**
     * 邮箱
     */
    @Excel(name = "邮箱")
    @NotBlank(message = "email cannot be null")
    private String email;


    /**
     * 婚姻状态
     */

    @Excel(name = "婚姻状态")
    @NotBlank(message = "maritalStatus cannot be null")
    private String maritalStatus;


    /**
     * 居住地
     */

    @Excel(name = "居住地")
    @NotBlank(message = "stateOfResidence cannot be null")
    private String stateOfResidence;


    /**
     * 职业
     */

    @Excel(name = "职业")
    @NotBlank(message = "occupation cannot be null")
    private String occupation;


    /**
     * 职业-其他
     */
    @Excel(name = "职业-其他")
    private String occupationOther;


    /**
     * 联系人姓名
     */

    @Excel(name = "联系人姓名")
    @NotBlank(message = "relateName cannot be null")
    private String replenishRelateName;


    /**
     * 联系人手机号码
     */

    @Excel(name = "联系人手机号码")
    @NotBlank(message = "relatePhone cannot be null")
    private String replenishRelatePhone;


    /**
     * 关系
     */

    @Excel(name = "关系")
    @NotBlank(message = "relation cannot be null")
    private String replenishRelation;


    /**
     * 工作职称
     */

    @Excel(name = "工作职称")
//    @NotBlank(message = "jobTitle cannot be null")
    private String jobTitle;


    /**
     * 工作职称-其他
     */

    @Excel(name = "工作职称-其他")
    private String jobTitleOther;


    /**
     * 行业
     */

    @Excel(name = "行业")
//    @NotBlank(message = "industry cannot be null")
    private String industry;


    /**
     * 入职时间
     */

    @Excel(name = "入职时间")
//    @NotBlank(message = "resumptionDate cannot be null")
    private String resumptionDate;


    /**
     * 发薪时间
     */

    @Excel(name = "发薪时间")
//    @NotBlank(message = "salaryDate cannot be null")
    private String salaryDate;


    /**
     * 工作地
     */

    @Excel(name = "工作地")
//    @NotBlank(message = "workingAddress cannot be null")
    private String workingAddress;

    /**
     * 街道
     */
    @Excel(name = "街道")
    private String street;


    /**
     * 0:补充信息提额失败；1：补充信息提额通过；9：审批中
     */

    @Excel(name = "0:补充信息提额失败；1：补充信息提额通过；9：审批中")
    private String state;


    /**
     * 孩子数量
     */
    private Integer childrenNumber;

    /**
     * 备注
     */

    @Excel(name = "备注")
    private String remark;


    /**
     * 创建者
     */

    @Excel(name = "备注")
    private String createBy;


    /**
     * 创建时间
     */

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "备注", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createTime;


    /**
     * 更新者
     */

    @Excel(name = "备注")
    private String updateBy;


    /**
     * 更新时间
     */

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "备注", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updateTime;

    @TableField(exist = false)
    @NotEmpty(message = "The system could not accept your request. Please try again later.")
    private JSONObject deviceInfo;

}